package com.eastfair.imaster.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperCacheService;
import com.eastfair.imaster.dto.NewsDTO;
import com.eastfair.imaster.dto.NewsPageQuery;
import com.eastfair.imaster.entity.News;
import com.eastfair.imaster.vo.NewsVO;

import java.util.List;

/**
 * <p>
 * 新闻业务接口
 *
 * </p>
 *
 * @author zjn
 * @date 2021-08-31
 */
public interface NewsService extends SuperCacheService<News> {

    /**
     * 删除新闻
     *
     * @param id 主键id
     * @return 是否删除成功
     */
    Boolean deleteById(Long id);

    /**
     * 修改新闻
     *
     * @param newsDTO 新闻实体
     * @return 是否修改成功
     */
    Boolean updateById(NewsDTO newsDTO);

    /**
     * 通过id 获取新闻对象
     *
     * @param id 实体id
     * @return 新闻对象
     */
    NewsVO queryById(Long id);

    /**
     * 分页新闻列表
     *
     * @param params 分页条件
     * @return 分页新闻列表
     */
    Page<NewsVO> queryPageList(PageParams<NewsPageQuery> params);

    /**
     * 新闻列表
     *
     * @param newsDTO 筛选条件
     * @return 新闻列表
     */
    List<NewsVO> queryList(NewsDTO newsDTO);
}
